package com.xx.rpc.core.remoting.invoker.call;

/**
 * 响应类型
 *
 * @author hanxiyue
 */
public enum CallType {


    SYNC,//同步 (默认)

    FUTURE,//异步调用

    CALLBACK,//回调

    ONEWAY;//单向

    /**
     * 匹配响应类型
     *
     * @param name            类型名
     * @param defaultCallType 未匹配到时默认的类型
     * @return 响应类型
     */
    public static CallType match(String name, CallType defaultCallType) {
        for (CallType item : CallType.values()) {
            if (item.name().equals(name)) {
                return item;
            }
        }
        return defaultCallType;
    }

}
